﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Mahanet.Abyss.PathCalculation;

namespace motion
{
    public abstract class BaseLayer
	{
		#region Fields

		protected Control ParentController { get; set; }

		#endregion

		#region C'tor

		public BaseLayer(Control parentController)
        {
            ParentController = parentController;
			ParentController.Paint += new PaintEventHandler(ParentController_Paint);
        }

		#endregion

		#region Protected Abstract Methods

		protected abstract void OnLayerPaint(PaintEventArgs pe);

		#endregion

		#region Private Methods

		private void ParentController_Paint(object sender, PaintEventArgs e)
		{
			OnLayerPaint(e);
		}

		#endregion
	}
}
